﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tressel_asm
{
    abstract class InstructionComponentBase
    {
        /*#
        Variable Name: text
        Module Where Defined: InstructionComponentBase
        Data Type: string
        Local or Global: Global
        Purpose: Gives each component a text property.
        #*/
        protected string text = "";
        /*#
        Variable Name: errorFlag
        Module Where Defined: InstructionComponentBase
        Data Type: string
        Local or Global: Global
        Purpose: Gives each component a flag that indicates whether it's valid or erroneous.
        #*/
        protected bool errorFlag;

        public string Text
        {
            /*!
            Procedure Name: Text
            Description: This property is 1/2 reasons (as of SP1) for the existence of the 
            InstructionComponentBase class.  As a parent, it gives each of the classes which make 
            up an instruction a text property, saving coding, time, and documentation.  In the 
            future, we might add more functionality to this class.
            Input Parameters: none
            Output Parameters: returns the protected string text
            Error Conditions Tested: 
            Error Messages Generated: 
            Original Author: Steve Rudy
            Procedure Creation Date: 10/6/2009
            Modification Log:
            Coding standards met: SR
            Testing standards met: RM
            !*/
            get
            {
                return text;
            }
            set
            {
                text = value;
            }
        }

        public bool ErrorFlag
        {
            /*!
            Procedure Name: ErrorFlag
            Description: This property is 1/2 reasons (as of SP1) for the existence of the 
            InstructionComponentBase class.  As a parent, it gives each of the classes which make 
            up an instruction a errorFlag property, saving coding, time, and documentation.  In the 
            future, we might add more functionality to this class.
            Input Parameters: none
            Output Parameters: returns the protected boolean errorFlag
            Error Conditions Tested: 
            Error Messages Generated: 
            Original Author: Greg Loesch
            Procedure Creation Date: 10/18/2009
            Modification Log:
            Coding standards met: SR
            Testing standards met: RM
            !*/
            get
            {
                return errorFlag;
            }
            set
            {
                errorFlag = value;
            }
        }
    }
}